package com.ruoyi.ctcx.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 保险理赔赔案信息对象 tb_insurance_settle_case
 * 
 * @author ruoyi
 * @date 2024-11-20
 */
public class TbInsuranceSettleCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 所属保险id */
    @Excel(name = "所属保险id")
    private Long insureId;

    /** 所属理赔id */
    @Excel(name = "所属理赔id")
    private String settleId;

    /** 赔案状态，字典 */
    @Excel(name = "赔案状态，字典")
    private String caseStatus;

    /** 出险日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出险日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date caseDate;

    /** 出险原因 */
    @Excel(name = "出险原因")
    private String reason;

    /** 报损金额 */
    @Excel(name = "报损金额")
    private BigDecimal caseAmount;

    /** 出险地点描述 */
    @Excel(name = "出险地点描述")
    private String location;

    /** 出险地点经度 */
    @Excel(name = "出险地点经度")
    private String longitude;

    /** 出险地点纬度 */
    @Excel(name = "出险地点纬度")
    private String latitude;

    /** 报案方式，字典取值 */
    @Excel(name = "报案方式，字典取值")
    private String reportType;

    /** 报案时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报案时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportTime;

    /** 报案人 */
    @Excel(name = "报案人")
    private String reportPerson;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String reportTel;

    /** 报案人所属单位 */
    @Excel(name = "报案人所属单位")
    private String reportCompany;

    /** 出险经过 */
    @Excel(name = "出险经过")
    private String casePass;

    /** 出险现场资料 */
    @Excel(name = "出险现场资料")
    private String material;

    /** 施救情况 */
    @Excel(name = "施救情况")
    private String saveSituation;

    /**  */
    @Excel(name = "")
    private String describe;

    /** 已付赔案金额，【保险理赔赔案支付信息】支付金额合计 */
    @Excel(name = "已付赔案金额，【保险理赔赔案支付信息】支付金额合计")
    private BigDecimal completeMoney;

    /** 赔案报告 */
    @Excel(name = "赔案报告")
    private String report;

    /**  */
    private String delFlag;

    private List<TbInsuranceSettleCasePay> payList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setInsureId(Long insureId) 
    {
        this.insureId = insureId;
    }

    public Long getInsureId() 
    {
        return insureId;
    }
    public void setSettleId(String settleId)
    {
        this.settleId = settleId;
    }

    public String getSettleId()
    {
        return settleId;
    }
    public void setCaseStatus(String caseStatus) 
    {
        this.caseStatus = caseStatus;
    }

    public String getCaseStatus() 
    {
        return caseStatus;
    }
    public void setCaseDate(Date caseDate) 
    {
        this.caseDate = caseDate;
    }

    public Date getCaseDate() 
    {
        return caseDate;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setCaseAmount(BigDecimal caseAmount) 
    {
        this.caseAmount = caseAmount;
    }

    public BigDecimal getCaseAmount() 
    {
        return caseAmount;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }
    public void setReportType(String reportType) 
    {
        this.reportType = reportType;
    }

    public String getReportType() 
    {
        return reportType;
    }
    public void setReportTime(Date reportTime) 
    {
        this.reportTime = reportTime;
    }

    public Date getReportTime() 
    {
        return reportTime;
    }
    public void setReportPerson(String reportPerson) 
    {
        this.reportPerson = reportPerson;
    }

    public String getReportPerson() 
    {
        return reportPerson;
    }
    public void setReportTel(String reportTel) 
    {
        this.reportTel = reportTel;
    }

    public String getReportTel() 
    {
        return reportTel;
    }
    public void setReportCompany(String reportCompany) 
    {
        this.reportCompany = reportCompany;
    }

    public String getReportCompany() 
    {
        return reportCompany;
    }
    public void setCasePass(String casePass) 
    {
        this.casePass = casePass;
    }

    public String getCasePass() 
    {
        return casePass;
    }
    public void setMaterial(String material) 
    {
        this.material = material;
    }

    public String getMaterial() 
    {
        return material;
    }
    public void setSaveSituation(String saveSituation) 
    {
        this.saveSituation = saveSituation;
    }

    public String getSaveSituation() 
    {
        return saveSituation;
    }
    public void setDescribe(String describe) 
    {
        this.describe = describe;
    }

    public String getDescribe() 
    {
        return describe;
    }
    public void setCompleteMoney(BigDecimal completeMoney) 
    {
        this.completeMoney = completeMoney;
    }

    public BigDecimal getCompleteMoney() 
    {
        return completeMoney;
    }
    public void setReport(String report) 
    {
        this.report = report;
    }

    public String getReport() 
    {
        return report;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<TbInsuranceSettleCasePay> getPayList() {
        return payList;
    }

    public void setPayList(List<TbInsuranceSettleCasePay> payList) {
        this.payList = payList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("insureId", getInsureId())
            .append("settleId", getSettleId())
            .append("caseStatus", getCaseStatus())
            .append("caseDate", getCaseDate())
            .append("reason", getReason())
            .append("caseAmount", getCaseAmount())
            .append("location", getLocation())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("reportType", getReportType())
            .append("reportTime", getReportTime())
            .append("reportPerson", getReportPerson())
            .append("reportTel", getReportTel())
            .append("reportCompany", getReportCompany())
            .append("casePass", getCasePass())
            .append("material", getMaterial())
            .append("saveSituation", getSaveSituation())
            .append("describe", getDescribe())
            .append("completeMoney", getCompleteMoney())
            .append("report", getReport())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
